package xyz.msj.hrm._01_hello;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import xyz.msj.hrm.util.ConnectionUtil;

/**
 * 消息提供者
 *          * 1、获取连接
*          * 2、创建管道
*          * 3、创建交换机
*          * 4、创建队列
*          * 5、准备消息
*          * 6、发送消息
 */
public class Sender {

    public static final String RABBIT_QUEUE_HELLO = "rabbit_queue_hello";

    public static void main(String[] args) throws Exception {

        //1、获取连接
        Connection connection = ConnectionUtil.getConnection();

        //2、创建管道
        Channel channel = connection.createChannel();
        //3、创建交换机 使用默认

        //4、创建队列
//        String queue：队列名

//        boolean durable：是否持久化
//        boolean exclusive：是否一个队列占用一个连接
//        boolean autoDelete：自动删除
//        Map<String, Object> arguments：队列其他属性

        channel.queueDeclare(RABBIT_QUEUE_HELLO,true, false, false,null);
        //5、准备消息
        String message = "are you receive my message";
        //6、发送消息
//        String exchange:交换机
//        String routingKey,：队列名
//        AMQP.BasicProperties props,  其他属性
//        byte[] body 消息
        channel.basicPublish("", RABBIT_QUEUE_HELLO, null, message.getBytes());
        System.out.println("消息发送完毕！");


    }

}
